Activiti7 网关(包含网关) | 您所在的位置:网站首页 › activiti的网关GateWay › Activiti7 网关(包含网关) |
什么是包含网关? 包含网关可以看做是排他网关和并行网关的结合体,和排他网关一样,你可以在外出顺序流上定义条件,包含网关会解析他们,但是主要的区别是包含网关可以选择多于一条顺序流,这和并行网关是一样的 其实在我看来就是 排他网关:解析条件,要不报错,要不走一个 并行网关:不解析条件,不报错,都走 包含网关:解析条件,条件成立就走,不成立就不走,全都不成立报错 需求: 体检流程 如果是领导 就走 常规,抽血,VIP,普通员工只走常规,抽血 使用流程变量控制 领导:userType=2 员工:userType=1 代码语言:javascript复制package com.itheima.test.testGateWay; import org.activiti.engine.*; import org.activiti.engine.repository.Deployment; import org.activiti.engine.runtime.ProcessInstance; import org.activiti.engine.task.Task; import org.junit.Before; import java.util.HashMap; import java.util.Map; /** * 测试包含网关 */ public class Test { ProcessEngine defaultProcessEngine; @Before public void init() { defaultProcessEngine = ProcessEngines.getDefaultProcessEngine(); } @org.junit.Test public void deployment(){ RepositoryService repositoryService = defaultProcessEngine.getRepositoryService(); Deployment deploy = repositoryService.createDeployment() .addClasspathResource("pic/gateway/holidayGateway3.bpmn") .name("体检流程") .deploy(); System.out.println(deploy); } @org.junit.Test public void startProcessInstance(){ RuntimeService runtimeService = defaultProcessEngine.getRuntimeService(); Integer userType = 1; Map map = new HashMap(); map.put("userType",userType); ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_1", map); System.out.println(processInstance); } /** * 提交任务 */ @org.junit.Test public void completTask(){ String assignee = "sunqi"; Task task = querySingResultByAssignee(assignee); System.out.println(task); TaskService taskService = defaultProcessEngine.getTaskService(); taskService.complete(task.getId()); } /** * 查询用户唯一任务 * @param assignee * @return */ public Task querySingResultByAssignee(String assignee){ TaskService taskService = defaultProcessEngine.getTaskService(); return taskService.createTaskQuery().processDefinitionKey("myProcess_1").taskAssignee(assignee).singleResult(); } }主要查看act_hi_actinst表的流程变化,既可以发现 userType=1 领取->常规->抽血->早餐->结束 userType=2 领取->常规->抽血->早餐->VIP->结束 作者:彼岸舞 时间:2020\09\08 内容关于:Activiti工作流 本文来源于网络,只做技术分享,一概不负任何责任 |
CopyRight 2018-2019 实验室设备网 版权所有 |